package com.chenchao.javaoop;

/**
 * @encoding : UTF-8
 * @Time : 2020/11/9 20:13
 * @Author : Chen Chao
 * @File : javaSE.com.chenchao.javaoop.CodeBlock.java
 * @Software : IntelliJ IDEA
 * @since : 1.8
 */
public class CodeBlock {
    public int age;
    public static void main(String[] args) {
        System.out.println("2主函数被执行了");
        new CodeBlock();//无论用哪种创建方法都会执行初始化代码块
        new CodeBlock(1);
    }
    static {
        System.out.println("1静态代码块，加载类时执行，只执行一次，先于main方法"); }
    {
        System.out.println("3初始化代码块，编译时会移动到构造器里面,每创建一个对象执行一次"); }
    public CodeBlock() {
        {
            System.out.println("4局部代码块,放在方法里面，调用方法时执行"); }
    }
    public CodeBlock(int age) {
        this.age = age;
    }
}
